\documentclass{xdyy-usermanual}

\xdyymanualsetup{
  info = {
    author            = {夏康玮},
    title             = { \cls{xdyy-notes} 文类},
    email             = {kangweixia_xdyy@163.com},
    date              = {2022-03-07},
    version           = {0.0.6},
    github-repository = {https://github.com/xkwxdyy/xdyy-notes},
    gitee-repository  = {https://gitee.com/xkwxdyy/xdyy-notes},
  }
}

\usepackage{../xchoices/xchoices}
\usepackage{extarrows}

\begin{document}
\maketitle
\tableofcontents


\section{文类简介}

本文类主要用于数学读书笔记：

\begin{enumerate}
  \item 用于补充书中的细节，写读书笔记
  \item 比手写和照片更方便保存和分享
\end{enumerate}


\section{命令环境说明}


\subsection{命令}

\begin{function}[added = 2022-02-17]{\xdyynotesetup}
  \begin{syntax}
    |\xdyynotesetup| \marg{\kvopt{key}{val}}
  \end{syntax}
  全局设置，下面通过示例介绍键值：
  \begin{latexcode}
    \xdyynotesetup{
      % 笔记信息
      info = {
        author = {夏康玮},
        title = {算子理论读书笔记},
        date = {2022年2月17日}
      },
      % 前言的落款签名
      signature = {
        name = {夏康玮},
        place = {珞珈山},
        date = {2022年2月17日}
      },
      bib = {
        % bib文件名
        resource = {xdyy-notes-template.bib},
        % 是否将参考文献添加进目录
        bibintoc = true,
        % 参考文献的标题与目录中的标题
        title = {Bibliography}
      }
    }
  \end{latexcode}
\end{function}


\subsubsection{ 落款命令 \tn{signature} }

\begin{function}[added = 2022-02-17]{\signature}
  \begin{syntax}
    |\signature| \oarg{name = ..., place = ..., date = ...}
  \end{syntax}
  用于摘要的落款签名，可选参数用于修改姓名，地点和日期。注意，此命令已嵌入 \env{preface} 环境中，只需要通过 \env{preface} 环境的可选参数进行修改即可。
\end{function}

\begin{vexample}
    \signature
\end{vexample}

\begin{vexample}
    \signature[
      name = {珞珈学子},
      place = {桂五},
      date = {2022年某个周一}
    ]
\end{vexample}

\subsubsection{ 勘误命令 \tn{correction} }

一些书或文章中难免会有一些笔误甚至是错误的地方，这个时候可以使用 \tn{correction} 命令。

\begin{vexample}
    \correction[
      book = {《数学讲义》},   % 书籍
      page = {88},             % 页数
      author = {夏康玮},       % 作者
      edition = {第一版},      % 版本
      year = {2022},           % 年份
      line = {倒数第三行},     % 行数
      original = {             % 勘误前的原文
        $1+1 = 3$
      },
      revision = {             % 勘误后
        $1+1 = 2$
      },
      explanation = {          % 补充解释
        常识性问题，无须多言
      }
    ]
\end{vexample}


\begin{floatexample}
    \correction[
      paper = {How to learn math},   % 文章
      page = {2},              % 页数
      author = {夏康玮},       % 作者
      edition = {第一版},      % 版本
      year = {2022},           % 年份
      line = {倒数第三行},     % 行数
      original = {             % 勘误前的原文
        $1+1 = 3$
      },
      revision = {             % 勘误后
        $1+1 = 2$
      },
      explanation = {          % 补充解释
        常识性问题，无须多言
      }
    ]
\end{floatexample}


\subsection{环境}

\subsubsection{ 前言环境 \env{preface} }
\begin{function}[added = 2022-02-17]{preface}
  \begin{syntax}
    |\begin{preface}[signature = {name = ..., place = ..., date = ...}]|
      |  ...|
    |\end{preface}|
  \end{syntax}
  前言环境，可选参数继承于 \tn{signature} 的参数，设置落款的姓名，地点和日期
\end{function}



\subsubsection{ 引用环境 \env{quotation} }

为了一些方便可能需要在笔记中引用别的书籍文章中的原文，这个时候就需要用 \env{quotation} 环境

\begin{vexample}
    \begin{quotation}[
      book    = {《泛函分析讲义》},      % 书籍
      edition = {第二版},                % 版本
      year    = {2017},                  % 年份
      author  = {xdyy},                  % 作者
      page    = {11-14}                  % 页码
    ]\label{quo:test1}
      $E = m c^2$， 这 \ref{quo:test1} 是一个引用
    \end{quotation}
\end{vexample}

\begin{vexample}
    \begin{quotation}[
      paper   = {Function analysis notes},   % 论文、文章
      edition = {3rd},                       % 版本
      year    = {2022},                      % 年份
      author  = {xdyy},                      % 作者
      page    = {11-14}                      % 页码
    ]\label{quo:test2}
      $E = m c^2$， 这 \ref{quo:test2} 是一个引用
    \end{quotation}
\end{vexample}



\subsubsection{ 细节补充环境 \env{detail} }

读书笔记模版中最重要的部分，也就是对于书或文章内容的理解和感悟，或是证明细节的补充等等。


\begin{vexample}
    \begin{detail}[
      paper   = {Function analysis notes},   % 论文、文章
      page = {103},                          % 页码
      author = {许全华},                     % 作者，可省略
      edition = {第一版},                    % 版本，可省略
      year = {2017},                         % 年份，可省略
      line = {倒数第三行},                   % 行数，可省略
      original = {                           % 原文
        ...
      }
    ]
      这段文字是用来测试效果的，没有实际含义
    \end{detail}
\end{vexample}

\begin{vexample}
    \begin{detail}[
      book = {《泛函分析讲义》},  % 书籍
      page = {103},               % 页码
      author = {许全华},          % 作者，可省略
      edition = {第一版},         % 版本，可省略
      year = {2017},              % 年份，可省略
      line = {倒数第三行},        % 行数，可省略
      original = {                % 原文
        ...
      }
    ]
      这段文字是用来测试效果的，没有实际含义
    \end{detail}
\end{vexample}



\subsubsection{ 习题环境 \env{exercise} }

如果老师上课布置了习题或是习题课上的内容，可以使用 \env{exercise} 环境，但是要注意，为了更好地实现模块化效果，一个 \env{exercise} 环境是一道题，该环境主要参考 zepinglee 的 \cls{exam-zh} 项目 \footnote{ \url{https://gitee.com/zepinglee/exam-zh}}。

\begin{vexample}
    \begin{exercise}[title = {title测试}]
      这是一个练习
    \end{exercise}

    \begin{exercise}
      这是一个练习
    \end{exercise}
\end{vexample}



\subsubsection{ 解答环境 \env{answer} }

思考了一下，\env{proof} 环境不太贴切用作习题的解答，因为有的时候可以需要将习题解答隐藏起来，但是正文的 \env{proof} 环境一般不需要隐藏，所以再写一个可以控制答案隐藏与否的 \env{answer} 环境

\begin{vexample}
    \begin{exercise}
      这是一个练习
    \end{exercise}

    \begin{answer}
      这是一个解答
    \end{answer}

    \begin{answer}[title = {解答title}]
      这是另一个解答
    \end{answer}
\end{vexample}


\subsubsection{ 日志环境 \env{changelog} }

该环境可以记录当天所学的一个总结或是感悟等等

\begin{vexample}
    \begin{changelog}[date = {2022-02-24}]
      测试
    \end{changelog}
\end{vexample}

\end{document}
